1. The Field of the Invention
The present invention relates to systems, methods, and computer program products for transcoding transport or video streams. More particularly, the present invention relates to systems, methods, and computer program products for reducing a bit rate of a video or transport stream by generating a new set of discrete cosine transform (DCT) frequency coefficients.
2. Description of the Related Art
Digital video signals have several significant advantages over their analog counterparts. They can be transmitted over long distances and stored without degradation. They can be encrypted and otherwise processed for purposes such as security and unnecessary or redundant information can be removed from the digital video signals. One cost, however, of digital signals is related to the bandwidth that they consume. More specifically, uncompressed digital or video signals can consume significant bandwidth. This is particularly a problem in situations where multiple digital signals are being broadcast or where the digital signal is being transmitted over a medium such as the Internet, which has limited bandwidth in many circumstances.
This problem has been partially solved through the use of compression. One compression scheme is defined by the Moving Pictures Expert Group (MPEG). The bit stream defined by MPEG is the output of an encoding process that is designed to significantly compress the video picture information. As the MPEG standard only defines the syntax of the resulting bit stream, the standard is flexible enough to be used in a variety of different situations, such as satellite broadcast services, cable television, interactive television services, and the Internet.
The MPEG encoding process generally occurs as follows. A video signal is sampled and quantized to define color and luminance components for each pixel of the digital video. Values representing the color and luminance components are stored in structures known as macroblocks. The color and luminance values stored in the macroblocks are converted to frequency values using a discrete cosine transform (DCT). The transform coefficients obtained from the DCT represent different frequencies in the brightness and the color of the picture.
The MPEG encoding process takes advantage of the fact that human visual system is insensitive to high frequencies in color and luminance changes, and quantizes the transform coefficients to represent the color and luminance information by smaller or more coarsely scaled values. The quantized DCT transform coefficients are then encoded using run level (RLC) and variable length coding (VLC) techniques, which further compress the video stream. The MPEG standard also provides additional compression through motion compensation techniques.
However, even compressed video or MPEG streams may still have a bit rate that is unsatisfactorily high for certain applications, and therefore there is a need to further compress the video stream or reduce the bit rate of the stream. One solution to this problem is to transcode the MPEG stream by completely decoding the MPEG stream and then re-encoding the MPEG stream at a higher compression ratio to reduce the bit rate to an acceptable level. However, transcoding an MPEG stream in this fashion is often computationally expensive because of the need to perform an inverse quantization and an inverse DCT to recreate an approximation of the original data prior to re-encoding the data in accordance with a desired bit rate. Transcoding a video stream is even more complex when motion estimation and compensation are performed.
As previously stated however, transcoding a video stream is often necessary because the bit rate of the incoming video stream may be higher than the available bandwidth or the bit rate of the incoming MPEG stream may be higher than the optimal bit rate for storage of the video stream on a storage medium such as a hard disk drive. In view of these and other problems presented by video streams, minimally complex systems and methods are needed for transcoding a video stream.